linux 上安装mysql8 以及可能出现的问题

bingo 2020年04月03日 26次浏览

首先在docker中下载mysql镜像

docker pull msyql

docker run -d -it --name bingo-msyql -e MYSQL_ROOT_PASSWORD=****** -p:3306:3306 mysql

查看运行情况

docker ps

docker ps -a

进入容器主机

docker exec -it bingo-msyql /bin/bash

连接测试

mysql -uroot -p

至此我们已经成功的利用docker部署了一个msyql容器

我们在我们的centos的宿主主机上开始利用navicat连接这台mysql实例 提示报错

1251--Client does not support authentication protocol requested by server

这里不解释报错的原因,总之就是mysql8之后默认的验证协议有了写变化,这里着重说下解决这个问题的步骤。

  1. 在container中登陆mysql,更改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  1. 更改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
  1. 刷新
FLUSH PRIVILEGES;

当然还有另外一个解决方式就是换一个高版本的客户端,问题也就迎刃而解。